package com.yun.blog.exception;

import com.yun.blog.bean.Result;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import org.springframework.web.method.HandlerMethod;

/**
 * title        : GlobalExceptionHandler
 * projectName  : dantouBlog-back
 * description  : 全局异常处理类
 * author       : simple
 * email        : yun_simple@163.com
 * date         : 2023/5/5下午10:28
 */

// 表示是一个全局异常处理
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {

    // 表示可以处理的多个异常，会在此方法中处理
    @ExceptionHandler({Exception.class})
    public Result handlerGlobalException(Exception exception, HandlerMethod method) {
        // exception:表示产生的异常
        // method：表示异常发生的位置的方法
        log.error("Exception= {}, method= {} ", exception.getMessage(), method.getShortLogMessage());
        // 返回异常处理的数据
        return Result.fail(exception.getMessage());
    }

}
